package com.cyou.qb.face.service.impl;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public final class GBKMD5 {

	public final static String encode(String pass) {
		String keys = null;
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			if (pass == null) {
				pass = "";
			}
			byte[] bPass = pass.getBytes("GBK");
			md.update(bPass);
			keys = bytesToHexString(md.digest());
		} catch (NoSuchAlgorithmException aex) {
		} catch (java.io.UnsupportedEncodingException uex) {
		}
		return keys.toLowerCase();
	}

	/**
	 * 将beye[]转换为十六进制字符串
	 * 
	 * @param bArray
	 * @return
	 */
	public static final String bytesToHexString(byte[] bArray) {
		StringBuffer sb = new StringBuffer(bArray.length);
		String sTemp;
		for (int i = 0; i < bArray.length; i++) {
			sTemp = Integer.toHexString(0xFF & bArray[i]);
			if (sTemp.length() < 2) {
				sb.append(0);
			}
			sb.append(sTemp.toUpperCase());
		}
		return sb.toString();
	}

	public static void main(String[] args) {
		System.out.println(GBKMD5.encode("中文"));
	}

}
